package com.xiaoc.bulldozer.common.dao;

import java.util.List;
import com.xiaoc.bulldozer.common.dto.DataPriviledgeQueryDto;
import com.xiaoc.bulldozer.common.model.DataPriviledge;
import org.apache.ibatis.annotations.Param;

/**
 * DataPriviledge Mapper 接口
 *
 * @author Danfo Yam
 * 
 * @date 2018-12-13 09:57:03
 */
public interface DataPriviledgeMapper {

    /**
     * 根据条件查询DataPriviledge数量
     
     * @param DataPriviledgeQueryDto
     *
     * @return 满足查询条件的记录数量
     */
    public Integer getDataPriviledgeCountByCondition(DataPriviledgeQueryDto DataPriviledgeQueryDto);
    
    /**
     * 根据条件分页查询DataPriviledge列表
     *
     * @param DataPriviledgeQueryDto
     *
     * @return 满足查询条件的DataPriviledge列表
     */
    public List<DataPriviledge> getDataPriviledgeListByCondition(DataPriviledgeQueryDto DataPriviledgeQueryDto);
    
    /**
     * 根据Id获取DataPriviledge
     * 
     * @param id
     *
     * @return DataPriviledge对象
     */
    public DataPriviledge getDataPriviledgeById(Integer id);

    /**
     * 获取所有DataPriviledge列表
     * 
     * @return DataPriviledge列表
     */
    public List<DataPriviledge> getAllDataPriviledgeList();

    /**
     * 新增DataPriviledge
     * 
     * @param DataPriviledge
     *
     * @return void
     */
    public void save(DataPriviledge DataPriviledge);

    /**
     * 更新DataPriviledge
     * 
     * @param DataPriviledge
     *
     * @return void
     */
    public void update(DataPriviledge DataPriviledge);

    /**
     * 根据Id删除DataPriviledge
     * 
     * @param id
     *
     * @return void
     */
    public void deleteById(Integer id);


    /**
     * 根据roleIdList， type 查询DataPriviledge列表
     * @param roleIdList
     * @param type
     */
    public List<DataPriviledge> getDataPriviledgeListByRoleIdListAndType(@Param("roleIdList") List<Integer> roleIdList, @Param("type") Integer type);

}
